package com.bot.nft.module.op.domain.bo;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.Future;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 *
 * </p>
 *
 * @author wangsu
 * @since 2024-01-24
 */
@Getter
@Setter
@TableName("op_rofo_info")
public class OpRofoInfoBo implements Serializable {

    /**
     * 优先购活动信息标识
     */
    private String id;

    /**
     * 优先购藏品标识
     */
    @NotBlank(message = "藏品标识不能为空")
    private String nftId;

    /**
     * 任务名称
     */
    @NotBlank(message = "任务名称不能为空")
    private String taskName;

    /**
     * 状态(0:未发布 1：已发布)
     */
    private Integer status;

    /**
     * 快照时间
     */
    @NotNull(message = "快照时间不能为空")
    @Future(message = "快照时间不能小于当前时间")
    private Date snapshotTime;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 更新人
     */
    private String updateUser;

    /**
     * 删除标识 默认0
     */
    private Integer deleteFlag;

    /**
     * 优先购藏品条件项信息
     */
    private List<OpRofoHoldLimtBo> opRofoHoldLimtBos;
}
